namespace study6_04 {

    // Readonly 只读
    // 将每一个属性变成只读
    // 和Partial 很像，只是把？替换成了 Readonly

    type Readonly<T> = {
        readonly [P in keyof T]: T[P]
    }

    type Person = {
        name: string,
        age: number,
        text: string
    }

    type PersonbReadonly = Readonly<Person>

    // 转换后属性变成可读
    // type PersonbReadonly = {
    //     readonly name: string;
    //     readonly age: number;
    //     readonly text: string;
    // }

    let p: PersonbReadonly = {
        'name': 'assd',
        'age': 21,
        'text': 'asd'
    }
    console.log(p);
    // p.age = 'asds' // 无法为“age”赋值，因为它是只读属性。









}